﻿using System.Drawing;
using Tsanie.ShellExt.Definitions;

namespace Tsanie.ShellExt
{
    public abstract class ThumbnailBaseProvider : BaseProvider
    {
        /// <summary>
        /// 获取缩略图标志
        /// </summary>
        public virtual ThumbnailFlags Flags
        {
            get { return ThumbnailFlags.Cache | ThumbnailFlags.Async; }
        }

        /// <summary>
        /// 获取缩略图
        /// </summary>
        /// <param name="filename">文件名</param>
        /// <param name="flags">缩略图参数</param>
        /// <param name="colorDepth">颜色深度</param>
        /// <param name="size">图像大小</param>
        public abstract Bitmap GetBitmap(string filename, ThumbnailFlags flags, int colorDepth, Size size);
    }
}
